import wx

class MyFrame(wx.Frame):
    def __init__(self):
        # 创建窗体
        super().__init__(None, title = '文本输入样例', size = (600, 800))
        panel = wx.Panel(self)
        self.t1 = wx.TextCtrl(panel)  # 普通文本输入框
        self.t2 = wx.TextCtrl(panel, style=wx.TE_PASSWORD)  # 密码风格输入框
        self.t3 = wx.TextCtrl(panel, size=(200, 100), style = wx.TE_MULTILINE)
        self.t4 = wx.TextCtrl(panel, value = "只读", size=(300, 100),
                              style = wx.TE_READONLY | wx.TE_CENTER)
        btn = wx.Button(panel, label = '清空')
        # 产生一个布局容器：放到布局容器中的元素会按照特定的方式去排布
        vbox = wx.BoxSizer(wx.VERTICAL)  # 垂直排布的容器
        vbox.Add(self.t1)
        vbox.Add(self.t2)
        vbox.Add(self.t3)
        vbox.Add(self.t4)
        vbox.Add(btn)
        # 容器部署到面板上
        panel.SetSizer(vbox)
        # 为按钮绑定事件方法
        self.Bind(wx.EVT_BUTTON, self.clear_text, btn)

    def clear_text(self, event):
        # 清空第一个输入框的内容
        self.t1.Clear()
        self.t2.Clear()
        self.t3.Clear()
        self.t4.Clear()

app = wx.App()
window = MyFrame()
window.Show()
app.MainLoop()